# Update a client

> `PATCH` `/v1/clients/{id}`

URL: https://www.agencytitan.com/docs/tag/clients/PATCH/v1/clients/{id}

Operation ID: `clients_update`

Tag: [clients](https://www.agencytitan.com/docs/tag/clients.md)

## Description

Partially updates a client. System properties (status, priority_level, tags, assigned_to) and custom `field_values` may be updated in the same request; only provided properties change. Status and priority values are validated against the client profile's configured options. The two groups are applied sequentially (system properties first, then field_values); if the second step fails after the first succeeded, a conflict error with a `partial_update` details block reports exactly which part was applied. Returns the full updated client.

## Parameters

- `id` (path, required, `string`) — Resource identifier (UUID).

## Request body

- Required: yes
- Content-Type: `application/json`
  - Type: `object`
  - Properties:
    - `assigned_to` (`array<string>`)
    - `field_values` (`object`) — Custom field values to merge, keyed by field_key (see GET /v1/fields). System properties (status, priority_level, tags,…
    - `priority_level` (`string`) — Must be a valid priority level option configured for your agency.
    - `status` (`string`) — Must be the `value` of one of the profile's status_options; fetch them via GET /v1/client-profiles/{id}.
    - `tags` (`array<string>`)

## Responses

- `200` (`application/json`): Successful response.
  - Type: `object`
  - Properties:
    - `data` (`object`, required)
- `400` (`application/json`): Request validation failed (unknown or out-of-range parameters/properties are rejected).
  - Type: `object`
  - Properties:
    - `error` (`object`, required)
- `401` (`application/json`): Missing, invalid, expired, or revoked bearer token.
  - Type: `object`
  - Properties:
    - `error` (`string`, required)
    - `error_description` (`string`, required)
- `403` (`application/json`): The authenticated user does not have permission for this operation.
  - Type: `object`
  - Properties:
    - `error` (`object`, required)
- `404` (`application/json`): The requested resource was not found.
  - Type: `object`
  - Properties:
    - `error` (`object`, required)
- `409` (`application/json`): The request conflicts with an existing record or partially applied.
  - Type: `object`
  - Properties:
    - `error` (`object`, required)
- `429` (`application/json`): Per-tenant rate limit exceeded (600 requests/minute across all /v1 REST endpoints). The Retry-After header indicates how many seconds to wait.
  - Type: `object`
  - Properties:
    - `error` (`object`, required)
- `500` (`application/json`): An unexpected internal error occurred.
  - Type: `object`
  - Properties:
    - `error` (`object`, required)

## Authentication

- `bearerAuth` — http (bearer) — All /v1 endpoints (except `/v1/openapi.json` and `/v1/llms.txt`) require a bearer token. Two equal first-class paths: (1) an OAuth 2.0 access token from the au…

## Useful links

- Interactive page: https://www.agencytitan.com/docs/tag/clients/PATCH/v1/clients/{id}
- API reference home: https://www.agencytitan.com/docs/
- Tag page: https://www.agencytitan.com/docs/tag/clients.md
- This operation as Markdown: https://www.agencytitan.com/docs/tag/clients/PATCH/v1/clients/{id}.md
- OpenAPI JSON: https://www.agencytitan.com/docs/openapi.json
- Full API Markdown: https://api.agencytitan.com/v1/llms.txt
- API keys: https://app.agencytitan.com/settings/api-mcp
